/**
 * @file KortstePad.h
 * @author Bram Aerts
 * @brief Declares class that implements a shortest path algorithm.
 */

#include "Point.h"
#include "PadEntry.h"
#include <vector>
#define MAX 30
#pragma once
/**
	*@brief contains shortest path algorithm
*/
class KortstePad
{
	Point src;
	Point dst;
	std::vector<Point> obj;
	std::vector<Point> opl;
private:
	int recWeg (Point,Point,PadEntry*);	
public:
	/** 
	@brief  initialises shortest path algorithm
	@param  Point src
				start location of robot
	@param  Point dst
				desired end location of robot
	@param  vector<Point> obs
				vector of obstacles
	**/			
	KortstePad (Point src,Point dst,std::vector<Point> obs);
	  

	/** 
	@brief  getter for shortest path
	@return a list of points of the shortest path
	**/	
	std::vector<Point> getWeg() ;


	/** 
	@brief getter for source point
	@return source Point
	**/			Point getSrc () {return src;}

	/** 
	@brief getter for destination point
	@return destination Point
	**/			Point getDst () {return dst;}

	/** 
	@brief getter for list of obstacles
	@return a list of Obstacles
	**/			std::vector<Point> getObj() {return obj;}
	
	
};

